home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmiSoft / Dev / Gui / Cit.lha / CIT / citra / CITPage.h < prev    next >
Encoding:
C/C++ Source or Header  |  2003-02-13  |  1.2 KB  |  64 lines

  1. //
  2. //                    CITPage include
  3. //
  4. //                        StormC
  5. //
  6. //                   version 2003.02.13
  7. //
  8.  
  9. #ifndef CITPAGE_H
  10. #define CITPAGE_H TRUE
  11.  
  12. #include "CITContainer.h"
  13.  
  14. //
  15. // This enum for internal use only
  16. //
  17. enum
  18. {
  19.   CITPAGE_CURRENT,
  20.   CITPAGE_FIXEDHORIZ,
  21.   CITPAGE_FIXEDVERT,
  22.   CITPAGE_LAST
  23. };
  24.  
  25. class CITPage:public CITContainer
  26. {
  27.   public:
  28.     CITPage();
  29.     ~CITPage();
  30.  
  31.     void InsObject(CITWindowClass &winClass,BOOL &Err);
  32.  
  33.     void FixedHoriz(BOOL b = TRUE)
  34.       {setTag(CITPAGE_FIXEDHORIZ,PAGE_FixedHoriz,b);}
  35.     void FixedVert(BOOL b = TRUE)
  36.       {setTag(CITPAGE_FIXEDVERT,PAGE_FixedVert,b);}
  37.     void Current(ULONG curr);
  38.        
  39.     ULONG Current()
  40.       {return getTag(PAGE_Current);}
  41.        
  42.     virtual BOOL Attach(Object* child,TagItem* tag,WORD first=FALSE);
  43.     virtual void Detach(Object* child);
  44.     
  45.   protected:  
  46.     virtual BOOL Create(CITWindow* CITWd,CITContainer* parent);
  47.     virtual void HandleEvent(UWORD id,ULONG eventType,UWORD code);
  48.     virtual Object* NewObjectA(TagItem* tags);
  49.  
  50.   private:
  51.     void  setTag(int index,ULONG attr,ULONG val);
  52.     ULONG getTag(ULONG attr);
  53.  
  54.     TagItem* pageTag;
  55.     ULONG    currPage;
  56. };
  57.  
  58. enum
  59. {
  60.   PAGECLASS_FLAGBITUSED = CONTAINERCLASS_FLAGBITUSED
  61. };
  62.  
  63. #endif
  64.